home *** CD-ROM | disk | FTP | other *** search
/ Apple Developer Connection Student Program / ADC Tools Sampler CD Disk 3 1999.iso / Metrowerks CodeWarrior / Java Support / Java_Source / IFC_112 / netscape / application / FoundationFrame.java < prev    next >
Encoding:
Text File  |  1999-05-28  |  1.9 KB  |  64 lines  |  [TEXT/CWIE]

  1. // FoundationFrame.java
  2. // By Ned Etcode
  3. // Copyright 1996, 1997 Netscape Communications Corp.  All rights reserved.
  4.  
  5. package netscape.application;
  6.  
  7. import java.awt.Frame;
  8. import java.awt.Dimension;
  9. import java.awt.Event;
  10. import netscape.util.*;
  11.  
  12. /** FoundationFrame is...
  13.   * @private
  14.   */
  15. public class FoundationFrame extends Frame {
  16.     ExternalWindow externalWindow;
  17.  
  18.     public boolean handleEvent(java.awt.Event event) {
  19.         Application app = Application.application();
  20.         if (event.id == java.awt.Event.WINDOW_DESTROY) {
  21.             if( app != null && app.eventLoop.shouldProcessSynchronously())
  22.                 externalWindow.hide();
  23.             else {
  24.                 /** Cannot wait. This will block the AWT thread and may cause
  25.                  * a dead lock if the window owner needs to show a alert
  26.                  */
  27.                 externalWindow.rootView().application().performCommandLater(
  28.                     externalWindow, ExternalWindow.HIDE, null, false);
  29.             }
  30.             return true;
  31.         } else {
  32.             return super.handleEvent(event);
  33.         }
  34.     }
  35.  
  36.     public ExternalWindow externalWindow() {
  37.         return externalWindow;
  38.     }
  39.  
  40.     void setExternalWindow(ExternalWindow wFrame) {
  41.         externalWindow = wFrame;
  42.     }
  43.  
  44.     public void layout() {
  45.         java.awt.Dimension size = size();
  46.         java.awt.Insets insets = insets();
  47.         int x = insets.left, y = insets.top,
  48.             w = size.width - (insets.left + insets.right),
  49.             h = size.height - (insets.top + insets.bottom);
  50.  
  51.         if (w > 0 && h > 0) {
  52.             externalWindow.panel().reshape(x, y, w, h);
  53.         }
  54.     }
  55.  
  56.     public java.awt.Dimension minimumSize() {
  57.         if (externalWindow != null) {
  58.             Size size = externalWindow.minSize();
  59.             return new java.awt.Dimension(size.width, size.height);
  60.         } else
  61.             return null;
  62.     }
  63. }
  64.